<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>发布会签到系统接口自动化测试</title>
    <meta name="generator" content="HTMLTestRunner 0.9.0"/>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
    <script src="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>
    <script src="http://apps.bdimg.com/libs/Chart.js/0.2.0/Chart.min.js"></script>
    <!-- <link href="https://cdn.bootcss.com/echarts/3.8.5/echarts.common.min.js" rel="stylesheet">   -->
    <!-- <link rel="stylesheet" href="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/bootstrap.min.css"> -->
    <link rel="stylesheet" href="http://img.itest.info/classic.css">


    
<style type="text/css" media="screen">
body        { font-family: verdana, arial, helvetica, sans-serif; font-size: 80%; }
table       { font-size: 100%; }
pre         {  }
/* -- heading ---------------------------------------------------------------------- */
h1 {
	font-size: 16pt;
	color: gray;
}
.heading {
    margin-top: 20px;
    margin-bottom: 1ex;
    margin-left: 10px;
    margin-right: 10px;
    width: 23%;
    float: left;
    padding-top: 10px;
    padding-left: 10px;
    padding-bottom: 10px;
    padding-right: 10px;
    box-shadow:0px 0px 5px #000;
}
.heading .attribute {
    margin-top: 1ex;
    margin-bottom: 0;
}
.heading .description {
    margin-top: 4ex;
    margin-bottom: 6ex;
}
/* -- css div popup ------------------------------------------------------------------------ */
a.popup_link {
}
a.popup_link:hover {
    color: red;
}
.popup_window {
    display: none;
    position: relative;
    left: 0px;
    top: 0px;
    /*border: solid #627173 1px; */
    font-family: "Lucida Console", "Courier New", Courier, monospace;
    text-align: left;
    font-size: 12pt;
    width: 500px;
}
}
/* -- report ------------------------------------------------------------------------ */
#show_detail_line {
    margin-top: 3ex;
    margin-bottom: 1ex;
    margin-left: 10px;
}

#header_row {
    font-weight: bold;
    color: #606060;
    background-color: #f5f5f5;
    border-top-width: 10px;
    border-color: #d6e9c6;
	font-size: 15px;
}

#total_row  { font-weight: bold; background-color: #dee2e6;}
.passClass  { background-color: #d6e9c6; }
.failClass  { background-color: #faebcc; }
.errorClass { background-color: #ebccd1; }
.passCase   { color: #28a745; font-weight: bold;}
.failCase   { color: #c60; font-weight: bold; }
.errorCase  { color: #c00; font-weight: bold; }
.hiddenRow  { display: none; }
.none {color: #009900 }
.testcase   { margin-left: 2em; }
/* -- ending ---------------------------------------------------------------------- */
#ending {
}
/* -- chars ---------------------------------------------------------------------- */
.testChars {width: 900px;margin-left: 0px;}
.error-color {
    color: #fff;
    background-color: #f44455;
    border-color: #f44455;
}
.pass-color {
    color: #fff;
    background-color: #5fc27e;
    border-color: #5fc27e;
}
.fail-color {
    color: #fff;
    background-color: #fcc100;
    border-color: #fcc100;
}
.skip-color {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d;
}

/* -- screenshots ---------------------------------------------------------------------- */
.img{
	height: 100%;
	border-collapse: collapse;
}
.screenshots {
    z-index: 100;
	position:fixed;
	height: 80%;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
	display: none;
	box-shadow:1px 2px 20px #333333;
}
.imgyuan{
    height: 20px;
    border-radius: 12px;
    background-color: red;
    padding-left: 13px;
    margin: 0 auto;
    position: relative;
    top: -40px;
    background-color: rgba(1, 150, 0, 0.3);
}
.imgyuan font{
    border:1px solid white;
    width:11px; 
    height:11px;
    border-radius:50%;
    margin-right: 9px;
    margin-top: 4px;
    display: block;
    float: left;
    background-color: white;
}

.close_shots {
    background-image: url();
    background-size: 22px 22px;
    -moz-background-size: 22px 22px;
    background-repeat: no-repeat;
    position: absolute;
    top: 5px;
    right: 5px;
    height: 22px;
    z-index: 99;
    width: 22px;
    ox-shadow:1px 2px 5px #333333;
}

</style>

</head>
<body>
<script language="javascript" type="text/javascript">

function show_img(obj) {
    var obj1 = obj.nextElementSibling
    obj1.style.display='block'
    var index = 0;//每张图片的下标，
    var len = obj1.getElementsByTagName('img').length;
    var imgyuan = obj1.getElementsByClassName('imgyuan')[0]
    //var start=setInterval(autoPlay,500);
    obj1.onmouseover=function(){//当鼠标光标停在图片上，则停止轮播
        clearInterval(start);
    }
    obj1.onmouseout=function(){//当鼠标光标停在图片上，则开始轮播
        start=setInterval(autoPlay,1000);
    }    
    for (var i = 0; i < len; i++) {
        var font = document.createElement('font')
        imgyuan.appendChild(font)
    }
    var lis = obj1.getElementsByTagName('font');//得到所有圆圈
    changeImg(0)
    var funny = function (i) {
        lis[i].onmouseover = function () {
            index=i
            changeImg(i)
        }
    }
    for (var i = 0; i < lis.length; i++) {
        funny(i);
    }
    
    function autoPlay(){
        if(index>len-1){
            index=0;
            clearInterval(start); //运行一轮后停止
        }
        changeImg(index++);
    }
    imgyuan.style.width= 25*len +"px";
    //对应圆圈和图片同步
    function changeImg(index) {
        var list = obj1.getElementsByTagName('img');
        var list1 = obj1.getElementsByTagName('font');
        for (i = 0; i < list.length; i++) {
            list[i].style.display = 'none';
            list1[i].style.backgroundColor = 'white';
        }
        list[index].style.display = 'block';
        list1[index].style.backgroundColor = 'red';
    }
}

function hide_img(obj){
    obj.parentElement.style.display = "none";
    obj.parentElement.getElementsByClassName('imgyuan')[0].innerHTML = "";
}

output_list = Array();
/* level - 0:Summary; 1:Failed; 2:Skip; 3:All */
function showCase(level, channel) {
    trs = document.getElementsByTagName("tr");
    for (var i = 0; i < trs.length; i++) {
        tr = trs[i];
        id = tr.id;
        if (["ft","pt","et","st"].indexOf(id.substr(0,2))!=-1){
           if ( level == 0 && id.substr(2,1) == channel ) {
                tr.className = 'hiddenRow';
            }
        }
        if (id.substr(0,3) == 'pt'+ channel) {
            if ( level == 1){
                tr.className = '';
            }
            else if  (level > 4 && id.substr(2,1) == channel ){
                tr.className = '';
            }
            else {
                tr.className = 'hiddenRow';
            }
         }
        if (id.substr(0,3) == 'ft'+channel) {
            if (level == 2) {
                tr.className = '';
            }
            else if  (level > 4 && id.substr(2,1) == channel ){
                tr.className = '';
            }
            else {
                tr.className = 'hiddenRow';
            }
          }
        if (id.substr(0,3) == 'et'+channel) {
            if (level == 3) {
                tr.className = '';
            }
            else if  (level > 4 && id.substr(2,1) == channel ){
                tr.className = '';
            }
            else {
                tr.className = 'hiddenRow';
            }
        }
        if (id.substr(0,3) == 'st'+channel) {
            if (level == 4) {
                tr.className = '';
            }
            else if  (level > 4 && id.substr(2,1) == channel ){
                tr.className = '';
            }
            else {
                tr.className = 'hiddenRow';
            }
        }
    }
}
function showClassDetail(cid, count) {
    var id_list = Array(count);
    var toHide = 1;
    for (var i = 0; i < count; i++) {
        tid0 = 't' + cid.substr(1) + '.' + (i+1);
        tid = 'f' + tid0;
        tr = document.getElementById(tid);
        if (!tr) {
            tid = 'p' + tid0;
            tr = document.getElementById(tid);
        }
        if (!tr) {
            tid = 'e' + tid0;
            tr = document.getElementById(tid);
        }
        if (!tr) {
            tid = 's' + tid0;
            tr = document.getElementById(tid);
        }
        id_list[i] = tid;
        if (tr.className) {
            toHide = 0;
        }
    }
    for (var i = 0; i < count; i++) {
        tid = id_list[i];
        if (toHide) {
            document.getElementById(tid).className = 'hiddenRow';
        }
        else {
            document.getElementById(tid).className = '';
        }
    }
}
function showTestDetail(div_id){
    var details_div = document.getElementById(div_id)
    var displayState = details_div.style.display
    // alert(displayState)
    if (displayState != 'block' ) {
        displayState = 'block'
        details_div.style.display = 'block'
    }
    else {
        details_div.style.display = 'none'
    }
}
function html_escape(s) {
    s = s.replace(/&/g,'&amp;');
    s = s.replace(/</g,'&lt;');
    s = s.replace(/>/g,'&gt;');
    return s;
}
/* obsoleted by detail in <div>
function showOutput(id, name) {
    var w = window.open("", //url
                    name,
                    "resizable,scrollbars,status,width=800,height=450");
    d = w.document;
    d.write("<pre>");
    d.write(html_escape(output_list[id]));
    d.write("\n");
    d.write("<a href='javascript:window.close()'>close</a>\n");
    d.write("</pre>\n");
    d.close();
}
*/
</script>

<nav class="navbar navbar-expand navbar-light bg-white">
    <a class="sidebar-toggle d-flex mr-2">
        <i class="hamburger align-self-center"></i>
    </a>
    <h1 style="margin-bottom: 0px;">seldom</h1>
    <div class="navbar-collapse collapse">
        <ul class="navbar-nav ml-auto">
            <h3 style="float: right;">发布会签到系统接口自动化测试</h3>
        </ul>
    </div>
</nav>
<div style="height: 260px; margin-top: 20px;">
<div class="col-12 col-lg-5 col-xl-3 d-flex" style="float:left">
    <div class='card flex-fill'>
        <div class="card-body my-2">
        <table class="table my-0">
            <tbody>
            <tr><td>Start Time:</td><td class="text-right">2020-04-19 10:28:01</td></tr>
<tr><td>Duration:</td><td class="text-right">0:00:00.241355</td></tr>
<tr><td>Status:</td><td class="text-right">Passed:13 Failed:16</td></tr>

            <tr><td>Description:</td><td class="text-right">运行环境：MySQL(PyMySQL), Requests, unittest </td></tr>
            </tbody>
        </table>
        </div>
    </div>
</div>

<div style="float:left; margin-left: 10px; margin-top: 20px;">
    <p> Test Case Pie charts </p>
    <h2 class="d-flex align-items-center mb-0 font-weight-light pass-color">13</h2>
    <a>PASSED</a><br>
    <h2 class="d-flex align-items-center mb-0 font-weight-light fail-color">16</h2>
    <a>FAILED</a>
    <h2 class="d-flex align-items-center mb-0 font-weight-light error-color">0</h2>
    <a>ERRORS</a><br>
    <h2 class="d-flex align-items-center mb-0 font-weight-light skip-color">0</h2>
    <a>SKIPED</a><br>
</div>
<div class="testChars">
    <canvas id="myChart" width="250" height="250"></canvas>
</div>

</div>


<p id='show_detail_line' style="margin-left: 10px; margin-top: 30px;">
<a href='javascript:showCase(0, 1)' class="btn btn-dark btn-sm">Summary</a>
<a href='javascript:showCase(1, 1)' class="btn btn-success btn-sm">Pass</a>
<a href='javascript:showCase(2, 1)' class="btn btn-warning btn-sm">Failed</a>
<a href='javascript:showCase(3, 1)' class="btn btn-danger btn-sm">Error</a>
<a href='javascript:showCase(4, 1)' class="btn btn-light btn-sm">Skip</a>
<a href='javascript:showCase(5, 1)' class="btn btn-info btn-sm">All</a>
</p>
<table class="table mb-0">
<thead>
    <tr id='header_row'>
        <td>Test Group/Test case</td>
        <td>Count</td>
        <td>Pass</td>
        <td>Fail</td>
        <td>Error</td>
        <td>View</td>
        <td>Screenshots</td>
    </tr>
</thead>

<tr class='failClass'>
    <td>add_event_test.AddEventTest:  添加发布会 </td>
    <td>5</td>
    <td>2</td>
    <td>3</td>
    <td>0</td>
    <td><a href="javascript:showClassDetail('c1.1',5)">Detail</a></td>
    <td>&nbsp;</td>
</tr>

<tr id='pt1.1.1' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_add_event_all_null: 所有参数为空</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.1.1')" >
        pass</a>
    <div id='div_pt1.1.1' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.1.1').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.1.1: {'status': 10021, 'message': 'parameter error'}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='ft1.1.2' class='none'>
    <td class='failCase'><div class='testcase'>test_add_event_data_type_error: 日期格式错误</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.1.2')" >
        fail</a>
    <div id='div_ft1.1.2' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft1.1.2').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft1.1.2: {'status': 10022, 'message': 'event id already exists'}
Traceback (most recent call last):
  File "D:\git\pyrequest\interface\add_event_test.py", line 47, in test_add_event_data_type_error
    self.assertEqual(self.result['status'], 10024)
AssertionError: 10022 != 10024


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='pt1.1.3' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_add_event_eid_exist: id已经存在</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.1.3')" >
        pass</a>
    <div id='div_pt1.1.3' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.1.3').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.1.3: {'status': 10022, 'message': 'event id already exists'}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='ft1.1.4' class='none'>
    <td class='failCase'><div class='testcase'>test_add_event_name_exist: 名称已经存在</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.1.4')" >
        fail</a>
    <div id='div_ft1.1.4' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft1.1.4').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft1.1.4: {'status': 10022, 'message': 'event id already exists'}
Traceback (most recent call last):
  File "D:\git\pyrequest\interface\add_event_test.py", line 39, in test_add_event_name_exist
    self.assertEqual(self.result['status'], 10023)
AssertionError: 10022 != 10023


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='ft1.1.5' class='none'>
    <td class='failCase'><div class='testcase'>test_add_event_success: 添加成功</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.1.5')" >
        fail</a>
    <div id='div_ft1.1.5' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft1.1.5').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft1.1.5: {'status': 10022, 'message': 'event id already exists'}
Traceback (most recent call last):
  File "D:\git\pyrequest\interface\add_event_test.py", line 55, in test_add_event_success
    self.assertEqual(self.result['status'], 200)
AssertionError: 10022 != 200


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr class='failClass'>
    <td>add_guest_test.AddGuessTest:  添加嘉宾 </td>
    <td>7</td>
    <td>3</td>
    <td>4</td>
    <td>0</td>
    <td><a href="javascript:showClassDetail('c1.2',7)">Detail</a></td>
    <td>&nbsp;</td>
</tr>

<tr id='pt1.2.1' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_add_guest_all_null: 参数为空</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.2.1')" >
        pass</a>
    <div id='div_pt1.2.1' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.2.1').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.2.1: {'status': 10021, 'message': 'parameter error'}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='pt1.2.2' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_add_guest_eid_null: eid=901 查询为空</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.2.2')" >
        pass</a>
    <div id='div_pt1.2.2' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.2.2').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.2.2: {'status': 10022, 'message': 'event id null'}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='ft1.2.3' class='none'>
    <td class='failCase'><div class='testcase'>test_add_guest_limit_full: eid=2 发布会人数已满</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.2.3')" >
        fail</a>
    <div id='div_ft1.2.3' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft1.2.3').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft1.2.3: {'status': 10025, 'message': 'event has started'}
Traceback (most recent call last):
  File "D:\git\pyrequest\interface\add_guest_test.py", line 47, in test_add_guest_limit_full
    self.assertEqual(self.result['status'], 10024)
AssertionError: 10025 != 10024


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='ft1.2.4' class='none'>
    <td class='failCase'><div class='testcase'>test_add_guest_phone_repeat: phone=13800113001 手机号重复</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.2.4')" >
        fail</a>
    <div id='div_ft1.2.4' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft1.2.4').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft1.2.4: {'status': 10025, 'message': 'event has started'}
Traceback (most recent call last):
  File "D:\git\pyrequest\interface\add_guest_test.py", line 63, in test_add_guest_phone_repeat
    self.assertEqual(self.result['status'], 10026)
AssertionError: 10025 != 10026


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='ft1.2.5' class='none'>
    <td class='failCase'><div class='testcase'>test_add_guest_status_close: eid=2 状态未开启</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.2.5')" >
        fail</a>
    <div id='div_ft1.2.5' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft1.2.5').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft1.2.5: {'status': 10025, 'message': 'event has started'}
Traceback (most recent call last):
  File "D:\git\pyrequest\interface\add_guest_test.py", line 39, in test_add_guest_status_close
    self.assertEqual(self.result['status'], 10023)
AssertionError: 10025 != 10023


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='ft1.2.6' class='none'>
    <td class='failCase'><div class='testcase'>test_add_guest_success: 添加成功</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.2.6')" >
        fail</a>
    <div id='div_ft1.2.6' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft1.2.6').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft1.2.6: {'status': 10025, 'message': 'event has started'}
Traceback (most recent call last):
  File "D:\git\pyrequest\interface\add_guest_test.py", line 71, in test_add_guest_success
    self.assertEqual(self.result['status'], 200)
AssertionError: 10025 != 200


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='pt1.2.7' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_add_guest_time_start: eid=4 发布会已开始</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.2.7')" >
        pass</a>
    <div id='div_pt1.2.7' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.2.7').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.2.7: {'status': 10025, 'message': 'event has started'}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr class='failClass'>
    <td>get_event_list_test.GetEventListTest:  获得发布会列表 </td>
    <td>4</td>
    <td>2</td>
    <td>2</td>
    <td>0</td>
    <td><a href="javascript:showClassDetail('c1.3',4)">Detail</a></td>
    <td>&nbsp;</td>
</tr>

<tr id='pt1.3.1' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_get_event_list_eid_error: eid=901 查询结果为空</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.3.1')" >
        pass</a>
    <div id='div_pt1.3.1' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.3.1').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.3.1: {'status': 10022, 'message': 'query result is empty'}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='ft1.3.2' class='none'>
    <td class='failCase'><div class='testcase'>test_get_event_list_eid_success: 根据 eid 查询结果成功</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.3.2')" >
        fail</a>
    <div id='div_ft1.3.2' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft1.3.2').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft1.3.2: {'status': 200, 'message': 'success', 'data': {'eid': 1, 'name': '小米7发布会', 'limit': 2000, 'status': True, 'address': '北京', 'start_time': '2018-01-30T14:00:00'}}
Traceback (most recent call last):
  File "D:\git\pyrequest\interface\get_event_list_test.py", line 32, in test_get_event_list_eid_success
    self.assertEqual(self.result['data']['name'],u'红米Pro发布会')
AssertionError: '小米7发布会' != '红米Pro发布会'
- 小米7发布会
+ 红米Pro发布会



        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='pt1.3.3' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_get_event_list_nam_result_null: 关键字‘abc’查询</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.3.3')" >
        pass</a>
    <div id='div_pt1.3.3' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.3.3').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.3.3: {'status': 10022, 'message': 'query result is empty'}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='ft1.3.4' class='none'>
    <td class='failCase'><div class='testcase'>test_get_event_list_name_find: 关键字‘发布会’模糊查询</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.3.4')" >
        fail</a>
    <div id='div_ft1.3.4' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft1.3.4').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft1.3.4: {'status': 200, 'message': 'success', 'data': [{'eid': 1, 'name': '小米7发布会', 'limit': 2000, 'status': True, 'address': '北京', 'start_time': '2018-01-30T14:00:00'}, {'eid': 2, 'name': '红米 Pro 发布会', 'limit': 2000, 'status': True, 'address': '北京水立方', 'start_time': '2016-08-10T14:00:00'}, {'eid': 3, 'name': '红米 MAX 发布会', 'limit': 2000, 'status': True, 'address': '北京会展中心', 'start_time': '2016-09-22T14:00:00'}, {'eid': 4, 'name': '小米7发布会', 'limit': 4, 'status': True, 'address': '北京', 'start_time': '2018-10-11T12:12:00'}, {'eid': 5, 'name': '小米7发布会', 'limit': 4, 'status': True, 'address': '北京', 'start_time': '2018-10-11T12:12:00'}, {'eid': 11, 'name': '一加4手机发布会', 'limit': 2000, 'status': True, 'address': '深圳宝体', 'start_time': '2017-05-10T12:00:00'}]}
Traceback (most recent call last):
  File "D:\git\pyrequest\interface\get_event_list_test.py", line 48, in test_get_event_list_name_find
    self.assertEqual(self.result['data'][0]['name'],u'红米Pro发布会')
AssertionError: '小米7发布会' != '红米Pro发布会'
- 小米7发布会
+ 红米Pro发布会



        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr class='failClass'>
    <td>get_guest_list_test.GetGuestListTest:  获得嘉宾列表 </td>
    <td>5</td>
    <td>3</td>
    <td>2</td>
    <td>0</td>
    <td><a href="javascript:showClassDetail('c1.4',5)">Detail</a></td>
    <td>&nbsp;</td>
</tr>

<tr id='pt1.4.1' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_get_event_list_eid_error: 根据 eid 查询结果为空</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.4.1')" >
        pass</a>
    <div id='div_pt1.4.1' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.4.1').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.4.1: {'status': 10022, 'message': 'query result is empty'}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='pt1.4.2' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_get_event_list_eid_phone_null: 根据 eid 和phone 查询结果为空</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.4.2')" >
        pass</a>
    <div id='div_pt1.4.2' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.4.2').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.4.2: {'status': 10022, 'message': 'query result is empty'}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='ft1.4.3' class='none'>
    <td class='failCase'><div class='testcase'>test_get_event_list_eid_phone_success: 根据 eid 和phone 查询结果成功</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.4.3')" >
        fail</a>
    <div id='div_ft1.4.3' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft1.4.3').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft1.4.3: {'status': 10022, 'message': 'query result is empty'}
Traceback (most recent call last):
  File "D:\git\pyrequest\interface\get_guest_list_test.py", line 52, in test_get_event_list_eid_phone_success
    self.assertEqual(self.result['status'], 200)
AssertionError: 10022 != 200


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='ft1.4.4' class='none'>
    <td class='failCase'><div class='testcase'>test_get_event_list_eid_success: 根据 eid 查询结果成功</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.4.4')" >
        fail</a>
    <div id='div_ft1.4.4' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft1.4.4').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft1.4.4: {'status': 200, 'message': 'success', 'data': [{'realname': 'Mila', 'phone': '18611001105', 'email': 'Mila@mail.qcom', 'sign': False}, {'realname': 'sophia', 'phone': '18611001103', 'email': 'sophia@mail.com', 'sign': False}, {'realname': 'jack', 'phone': '18611001101', 'email': 'jack@mail.com', 'sign': False}, {'realname': 'alan', 'phone': '18611001100', 'email': 'alen@126.com', 'sign': True}]}
Traceback (most recent call last):
  File "D:\git\pyrequest\interface\get_guest_list_test.py", line 38, in test_get_event_list_eid_success
    self.assertEqual(self.result['data'][0]['realname'],'alen')
AssertionError: 'Mila' != 'alen'
- Mila
+ alen



        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='pt1.4.5' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_get_guest_list_eid_null: eid 参数为空</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.4.5')" >
        pass</a>
    <div id='div_pt1.4.5' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.4.5').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.4.5: {'status': 10021, 'message': 'eid cannot be empty'}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr class='failClass'>
    <td>user_sign_test.UserSignTest:  用户签到 </td>
    <td>8</td>
    <td>3</td>
    <td>5</td>
    <td>0</td>
    <td><a href="javascript:showClassDetail('c1.5',8)">Detail</a></td>
    <td>&nbsp;</td>
</tr>

<tr id='pt1.5.1' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_user_sign_all_null: 参数为空</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.5.1')" >
        pass</a>
    <div id='div_pt1.5.1' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.5.1').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.5.1: {'status': 10021, 'message': 'parameter error'}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='pt1.5.2' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_user_sign_eid_error: eid=901 查询结果不存在</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.5.2')" >
        pass</a>
    <div id='div_pt1.5.2' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.5.2').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.5.2: {'status': 10022, 'message': 'event id null'}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='ft1.5.3' class='none'>
    <td class='failCase'><div class='testcase'>test_user_sign_eid_phone_error: eid=1, phone=13511001102 手机号与发布会不匹配</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.5.3')" >
        fail</a>
    <div id='div_ft1.5.3' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft1.5.3').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft1.5.3: {'status': 10024, 'message': 'event has started'}
Traceback (most recent call last):
  File "D:\git\pyrequest\interface\user_sign_test.py", line 63, in test_user_sign_eid_phone_error
    self.assertEqual(self.result['status'], 10026)
AssertionError: 10024 != 10026


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='ft1.5.4' class='none'>
    <td class='failCase'><div class='testcase'>test_user_sign_has_sign_in: 已签到</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.5.4')" >
        fail</a>
    <div id='div_ft1.5.4' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft1.5.4').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft1.5.4: {'status': 10024, 'message': 'event has started'}
Traceback (most recent call last):
  File "D:\git\pyrequest\interface\user_sign_test.py", line 71, in test_user_sign_has_sign_in
    self.assertEqual(self.result['status'], 10027)
AssertionError: 10024 != 10027


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='ft1.5.5' class='none'>
    <td class='failCase'><div class='testcase'>test_user_sign_phone_error: phone=10100001111 手机号不存在</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.5.5')" >
        fail</a>
    <div id='div_ft1.5.5' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft1.5.5').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft1.5.5: {'status': 10024, 'message': 'event has started'}
Traceback (most recent call last):
  File "D:\git\pyrequest\interface\user_sign_test.py", line 55, in test_user_sign_phone_error
    self.assertEqual(self.result['status'], 10025)
AssertionError: 10024 != 10025


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='ft1.5.6' class='none'>
    <td class='failCase'><div class='testcase'>test_user_sign_status_close: eid=3 发布会状态关闭</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.5.6')" >
        fail</a>
    <div id='div_ft1.5.6' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft1.5.6').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft1.5.6: {'status': 10024, 'message': 'event has started'}
Traceback (most recent call last):
  File "D:\git\pyrequest\interface\user_sign_test.py", line 39, in test_user_sign_status_close
    self.assertEqual(self.result['status'], 10023)
AssertionError: 10024 != 10023


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='ft1.5.7' class='none'>
    <td class='failCase'><div class='testcase'>test_user_sign_success: 签到成功</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.5.7')" >
        fail</a>
    <div id='div_ft1.5.7' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_ft1.5.7').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
ft1.5.7: {'status': 10024, 'message': 'event has started'}
Traceback (most recent call last):
  File "D:\git\pyrequest\interface\user_sign_test.py", line 79, in test_user_sign_success
    self.assertEqual(self.result['status'], 200)
AssertionError: 10024 != 200


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='pt1.5.8' class='hiddenRow'>
    <td class='passCase'><div class='testcase'>test_user_sign_time_start: eid=4 发布会已开始</div></td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt1.5.8')" >
        pass</a>
    <div id='div_pt1.5.8' class="popup_window">
        <div style='text-align: right; color:red;cursor:pointer'>
        <a onfocus='this.blur();' onclick="document.getElementById('div_pt1.5.8').style.display = 'none' " >
           [x]</a>
        </div>
        <pre>
        
pt1.5.8: {'status': 10024, 'message': 'event has started'}


        </pre>
    </div>
    <!--css div popup end-->
    </td>
    <td></td>
</tr>

<tr id='total_row'>
    <td>Total</td>
    <td>29</td>
    <td class="text text-success">13</td>
    <td class="text text-danger">16</td>
    <td class="text text-warning">0</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
</table>

<div id='ending'>&nbsp;</div>

    <script type="text/javascript">
var data = [
	{
		value: 0,
		color: "#f44455",
		label: "Error",
		labelColor: 'white',
		labelFontSize: '16'
	},
	{
		value : 16,
		color : "#fcc100",
		label: "Fail",
		labelColor: 'white',
		labelFontSize: '16'
	},
	{
		value : 13,
		color : "#5fc27e",
		label : "Pass",
		labelColor: 'white',
		labelFontSize: '16'
	},
    {
		value : 0,
		color : "#6c757d",
		label : "skip",
		labelColor: 'white',
		labelFontSize: '16'
	}
]
var newopts = {
     animationSteps: 100,
 		animationEasing: 'easeInOutQuart',
}
//Get the context of the canvas element we want to select
var ctx = document.getElementById("myChart").getContext("2d");
var myNewChart = new Chart(ctx).Pie(data,newopts);
</script>
	
</body>
</html>
